//移除當前選擇區域的格式：
//如果沒有選擇，則移除游標所在位置外側的Tag。

function rmformat(){
    if (getSelection().toString() == ""){
        var container = getSelection().anchorNode.parentNode;
        //container = container.nodeType == 3 ? container.parentNode : container;
        if (container.localName != "body" && 
            container.localName != "div" && 
            container.localName != "li"){
            //記錄位置
            var r = window.getSelection().getRangeAt();
            var offset = r.startOffset;

            var pNode = container.parentNode;
            var iNode = container.firstChild;
            //套換內容
            pNode.insertBefore(iNode, container);
            //container.outerHTML = container.innerHTML;

            var range = document.createRange();
            var sel = window.getSelection();
            range.setStart(iNode, offset);
            range.collapse(true);
            pNode.normalize(); //合併節點，否則多次操作時會錯誤。
            pNode.removeChild(container); //移除殘餘物
            sel.removeAllRanges();
            sel.addRange(range);
        }
    }
    else{
        document.execCommand("RemoveFormat");
    }
}
rmformat()
